{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Generative Adversarial Networks\n",
    "\n",
    "\n",
    "Throughout most of this book, we've talked about how to make predictions.\n",
    "In some form or another, we used deep neural networks learned mappings from data points to labels.\n",
    "This kind of learning is called discriminative learning,\n",
    "as in, we'd like to be able to discriminate between photos cats and photos of dogs. \n",
    "Classifiers and regressors are both examples of discriminative learning. \n",
    "And neural networks trained by backpropagation \n",
    "have upended everything we thought we knew about discriminative learning \n",
    "on large complicated datasets. \n",
    "Classification accuracies on high-res images has gone from useless \n",
    "to human-level (with some caveats) in just 5-6 years. \n",
    "We'll spare you another spiel about all the other discriminative tasks \n",
    "where deep neural networks do astoundingly well.\n",
    "\n",
    "But there's more to machine learning than just solving discriminative tasks.\n",
    "For example, given a large dataset, without any labels,\n",
    "we might want to learn a model that concisely captures the characteristics of this data.\n",
    "Given such a model, we could sample synthetic data points that resemble the distribution of the training data.\n",
    "For example, given a large corpus of photographs of faces,\n",
    "we might want to be able to generate a *new* photorealistic image \n",
    "that looks like it might plausibly have come from the same dataset. \n",
    "This kind of learning is called *generative modeling*. \n",
    "\n",
    "Until recently, we had no method that could synthesize novel photorealistic images. \n",
    "But the success of deep neural networks for discriminative learning opened up new possiblities.\n",
    "One big trend over the last three years has been the application of discriminative deep nets\n",
    "to overcome challenges in problems that we don't generally think of as supervised learning problems.\n",
    "The recurrent neural network language models are one example of using a discriminative network (trained to predict the next character)\n",
    "that once trained can act as a generative model. \n",
    "\n",
    "\n",
    "In 2014, a young researcher named Ian Goodfellow introduced [Generative Adversarial Networks (GANs)](https://arxiv.org/abs/1406.2661) a clever new way to leverage the power of discriminative models to get good generative models. \n",
    "GANs made quite a splash so it's quite likely you've seen the images before. \n",
    "For instance, using a GAN you can create fake images of bedrooms, as done by [Radford et al. in 2015](https://arxiv.org/pdf/1511.06434.pdf) and depicted below. \n",
    "\n",
    "![](../img/fake_bedrooms.png)\n",
    "\n",
    "At their heart, GANs rely on the idea that a data generator is good\n",
    "if we cannot tell fake data apart from real data. \n",
    "In statistics, this is called a two-sample test - a test to answer the question whether datasets $X = \\{x_1, \\ldots x_n\\}$ and $X' = \\{x_1', \\ldots x_n'\\}$ were drawn from the same distribution. \n",
    "The main difference between most statistics papers and GANs  is that the latter use this idea in a constructive way.\n",
    "In other words, rather than just training a model to say 'hey, these two datasets don't look like they came from the same distribution', they use the two-sample test to provide training signal to a generative model.\n",
    "This allows us to improve the data generator until it generates something that resembles the real data. \n",
    "At the very least, it needs to fool the classifier. And if our classifier is a state of the art deep neural network.\n",
    "\n",
    "As you can see, there are two pieces to GANs - first off, we need a device (say, a deep network but it really could be anything, such as a game rendering engine) that might potentially be able to generate data that looks just like the real thing. \n",
    "If we are dealing with images, this needs to generate images. \n",
    "If we're dealing with speech, it needs to generate audio sequences, and so on. \n",
    "We call this the *generator network*. The second component is the *discriminator network*. \n",
    "It attempts to distinguish fake and real data from each other. \n",
    "Both networks are in competition with each other. \n",
    "The generator network attempts to fool the discriminator network. At that point, the discriminator network adapts to the new fake data. This information, in turn is used to improve the generator network, and so on. \n",
    "\n",
    "**Generator**\n",
    "* Draw some parameter $z$ from a source of randomness, e.g. a normal distribution $z \\sim \\mathcal{N}(0,1)$.\n",
    "* Apply a function $f$ such that we get $x' = G(u,w)$\n",
    "* Compute the gradient with respect to $w$ to minimize $\\log p(y = \\mathrm{fake}|x')$ \n",
    "\n",
    "**Discriminator**\n",
    "* Improve the accuracy of a binary classifier $f$, i.e. maximize $\\log p(y=\\mathrm{fake}|x')$ and $\\log p(y=\\mathrm{true}|x)$ for fake and real data respectively.\n",
    "\n",
    "\n",
    "![](../img/simple-gan.png)\n",
    "\n",
    "In short, there are two optimization problems running simultaneously, and the optimization terminates if a stalemate has been reached. There are lots of further tricks and details on how to modify this basic setting. For instance, we could try solving this problem in the presence of side information. This leads to cGAN, i.e. conditional Generative Adversarial Networks. We can change the way how we detect whether real and fake data look the same. This leads to wGAN (Wasserstein GAN), kernel-inspired GANs and lots of other settings, or we could change how closely we look at the objects. E.g. fake images might look real at the texture level but not so at the larger level, or vice versa. \n",
    "\n",
    "Many of the applications are in the context of images. Since this takes too much time to solve in a Jupyter notebook on a laptop, we're going to content ourselves with fitting a much simpler distribution. We will illustrate what happens if we use GANs to build the world's most inefficient estimator of parameters for a Gaussian. Let's get started.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function\n",
    "import matplotlib as mpl\n",
    "from matplotlib import pyplot as plt\n",
    "import mxnet as mx\n",
    "from mxnet import gluon, autograd, nd\n",
    "from mxnet.gluon import nn\n",
    "import numpy as np\n",
    "\n",
    "ctx = mx.cpu()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Generate some 'real' data\n",
    "\n",
    "Since this is going to be the world's lamest example, we simply generate data drawn from a Gaussian. And let's also set a context where we'll do most of the computation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = nd.random_normal(shape=(1000, 2))\n",
    "A = nd.array([[1, 2], [-0.1, 0.5]])\n",
    "b = nd.array([1, 2])\n",
    "X = nd.dot(X, A) + b\n",
    "Y = nd.ones(shape=(1000, 1))\n",
    "\n",
    "# and stick them into an iterator\n",
    "batch_size = 4\n",
    "train_data = mx.io.NDArrayIter(X, Y, batch_size, shuffle=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's see what we got. This should be a Gaussian shifted in some rather arbitrary way with mean $b$ and covariance matrix $A^\\top A$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f994c7906a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The covariance matrix is\n",
      "\n",
      "[[ 1.00999999  1.95000005]\n",
      " [ 1.95000005  4.25      ]]\n",
      "<NDArray 2x2 @cpu(0)>\n"
     ]
    }
   ],
   "source": [
    "plt.scatter(X[:,0].asnumpy(), X[:,1].asnumpy())\n",
    "plt.show()\n",
    "print(\"The covariance matrix is\")\n",
    "print(nd.dot(A.T, A))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Defining the networks\n",
    "\n",
    "Next we need to define how to fake data. Our generator network will be the simplest network possible - a single layer linear model. This is since we'll be driving that linear network with a Gaussian data generator. Hence, it literally only needs to learn the parameters to fake things perfectly. For the discriminator we will be a bit more discriminating: we will use an MLP with 3 layers to make things a bit more interesting. \n",
    "\n",
    "The cool thing here is that we have *two* different networks, each of them with their own gradients, optimizers, losses, etc. that we can optimize as we please. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# build the generator\n",
    "netG = nn.Sequential()\n",
    "with netG.name_scope():\n",
    "    netG.add(nn.Dense(2))\n",
    "\n",
    "# build the discriminator (with 5 and 3 hidden units respectively)\n",
    "netD = nn.Sequential()\n",
    "with netD.name_scope():\n",
    "    netD.add(nn.Dense(5, activation='tanh'))\n",
    "    netD.add(nn.Dense(3, activation='tanh'))\n",
    "    netD.add(nn.Dense(2))\n",
    "\n",
    "# loss\n",
    "loss = gluon.loss.SoftmaxCrossEntropyLoss()\n",
    "\n",
    "# initialize the generator and the discriminator\n",
    "netG.initialize(mx.init.Normal(0.02), ctx=ctx)\n",
    "netD.initialize(mx.init.Normal(0.02), ctx=ctx)\n",
    "\n",
    "# trainer for the generator and the discriminator\n",
    "trainerG = gluon.Trainer(netG.collect_params(), 'adam', {'learning_rate': 0.01})\n",
    "trainerD = gluon.Trainer(netD.collect_params(), 'adam', {'learning_rate': 0.05})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setting up the training loop\n",
    "\n",
    "We are going to iterate over the data a few times. To make life simpler we need a few variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "real_label = mx.nd.ones((batch_size,), ctx=ctx)\n",
    "fake_label = mx.nd.zeros((batch_size,), ctx=ctx)\n",
    "metric = mx.metric.Accuracy()\n",
    "\n",
    "# set up logging\n",
    "from datetime import datetime\n",
    "import os\n",
    "import time"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training loop\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 0: accuracy=0.764500\n",
      "time: 5.838877\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f99509c0a20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 1: accuracy=0.639000\n",
      "time: 6.052228\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f985c0adef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 2: accuracy=0.551000\n",
      "time: 5.773329\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9950930748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 3: accuracy=0.522000\n",
      "time: 5.613472\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nYCUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9846f72828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 4: accuracy=0.498000\n",
      "time: 6.069607\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9861a93b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 5: accuracy=0.496500\n",
      "time: 5.800509\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9950a3c278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 6: accuracy=0.498500\n",
      "time: 5.982538\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9950956d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 7: accuracy=0.515500\n",
      "time: 6.017519\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD8CAYAAABjAo9vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt8VNd1L/DfmtERGoGNMKIlGkygaYpvbBwppi4NSlND\nHNI4YNUOkNiO20/q0Fwnxfb1FZWTlIeTBmpuA6Gtb0rd3HxaOwmKH1guTv3CjQs3Tg3h4eBHWj9i\nI+xrwIjEaECjmX3/GJ3RmTN7n8fMkUYz+n0/n34aRqMzR/ok62ytvfZaopQCERHVjlilb4CIiKLF\nwE5EVGMY2ImIagwDOxFRjWFgJyKqMQzsREQ1hoGdiKjGMLATEdUYBnYiohpTV4kPbW5uVrNmzarE\nRxMRVa19+/YdV0pN83tfRQL7rFmzsHfv3kp8NBFR1RKRXwR5H1MxREQ1hoGdiKjGMLATEdUYBnYi\nohrDwE5EVGMqUhVDRDSe7Njfi02PvIijfSm0NCXQuXgOOtqSI/Z5DOxERCNox/5e3Hb/s0ilMwCA\n3r4Ubrv/WQAYseDOVAwR0Qja9MiL+aBuS6Uz2PTIiyP2mQzsREQj6GhfKtTrUWBgJyIaQS1NiVCv\nR4GBnYhoBHUunoOEFS94LWHF0bl4zoh9JjdPiYhGkL1ByqoYIqIa0tGWHNFA7sZUDBFRjWFgJyKq\nMZEEdhG5RUQOi8jPROR7ItIQxXWJiCi8snPsIpIEsArA+5RSKRHpBvApAN8p99pERGPBaLcEKFdU\nm6d1ABIikgbQCOBoRNclIqqoSrQEKFfZqRilVC+A/wXgNQBvADillHrU/T4RWSkie0Vk77Fjx8r9\nWCKikuzY34sFG3dhdtdOLNi4Czv293q+vxItAcpVdmAXkSkArgQwG0ALgIkicp37fUqpbUqpeUqp\nedOm+c5iJSKKnL367u1LQWF49e0V3CvREqBcUWyefgTAK0qpY0qpNID7AXwwgusSEXkajdV3JVoC\nlCuKwP4agPki0igiAmARgOcjuC4RkdForb4r0RKgXFHk2H8C4F4APwXw7NA1t5V7XSIiL6O1+u5o\nS2LDVXORbEpAACSbEthw1dwxu3EKRFQVo5RaC2BtFNciIgqi1NW3s8IFCLb6Hu2WAOXiyVMiqkrj\nZfVdCjYBI6KqNF5W36VgYCeisoz2qUzn5zU1WphQF8OpVLoqToSOFgZ2IirZaJ/KdH/eyf40ElYc\nm1e0MqA7MMdORCUb7VOZ1XgKtBIY2ImoZKN9KrMaT4FWAlMxRFSylqYEejVBdaROZUb1edXWrTEs\nBnYiKlmplSlOXkHW/bXLLpiG+/b1lv151datMSwGdiIqWbmDmr2CLICir923rxdXX5LEky8cK3m1\n7ZWnZ2AnIkJ5deF+m6G6rz35wjHs6VpY2s1ifOTpGdiJaMSZ0i2lBFnn10rJlY/2vkAlsCqGiEaU\nrgtj570H0br+USjD97Q0JXxbBpTS3RGozm6NYXHFTkRl8Vs169It6YxCXyqtvZ4zyHptzJrSOOt6\nDnuu2svdF6gGDOxEVLIgFSZhctdJw4NBF4BN1+1LpbFjfy862pLGh06t94thYCeikgWpMDHltN0E\nKNoU9QrAXte1N19rvazRhDl2IipZkM1PXU5bx5lTt0fezeraiffc9jBmaUbfeeXEj/alcGDnNjwm\nX8DLE67B7vpVWBrbPW7aDzCwE1HJgvREd/dAn9JowYpJwfuduXPnpigAZFRui7W3L4Wbtx9A6/pH\n86mWKY2W9vP/aNJ/YHX6TsyIHUdMgBmx49ho3YWlsd01VdZoIkqZ9qVHzrx589TevXtH/XOJKFru\nHDuQS6ko6PPlzu8z5c4XbNzlm7pJWHFsuGouAP0G675JN6Mx9UbR9x3JNmNF4z+UVQdfSSKyTyk1\nz+99zLETUcmcFSa9fal8UAdcOe34HuCJ24FTR4DJM9CxaA06upZrrxlkRW2nVOwA7X5IND74pvb7\nWuRETZU1mjCwE1FZ7A1O3Uo7lc7gwM5t6JC/B9JDXzv1OvDQqtx/vrg4uAfdbLUfANoN1n+bkfsc\nlzON02t+4xRgjp2IImJaad8wcPdwULelU+j/4Rrt+0vZbC2yaA1gub5uJdD4B7f7XrcWRLJiF5Em\nAHcBuAi5v8Q+q5T6cRTXJqIqcKgbP274En5NHcNR1Yw7BpejJ9sOAGiR49pvaeh/01hv/oGZk/H0\nyyfzG6duvidF7b8EHOkfLFqj/QuhFkWVivkmgH9VSn1SROoBNEZ0XSIa6w51Aw+twnSkAAFmSK4C\nBWmgJ9uOo6oZMzTB/aiaaqw3d6dirLhgYn1d0WxTz1OvFy8fN4HcrezALiKTAfwegD8GAKXUAICB\ncq9LRFXgUDfwwOcBVXhIqVEGsLquGz0D7bhjcDk2WnehUYbDQr+qxx2Dy3G0L6U95OSWzihMnFCH\nA2s/mn9tPPRVL1UUOfbZAI4B+D8isl9E7hKRiRFcl4jGsqGVujuo21rkBIDcqr0rfQOOZJuRVYIj\n2Wb8IPN7WF3XjZcarsX2/s9haWy378e5c/icf2oWRWCvA/ABAP9bKdUG4DSALvebRGSliOwVkb3H\njh2L4GOJqKKeuL14U9ThqJqa/8892Xa0D2zFb5y9B3cMLsey+FO5w0NQBYeHvLg3S8dDX/VSRRHY\njwA4opT6ydC/70Uu0BdQSm1TSs1TSs2bNm1aBB9LRHmHuoHNFwHrmnL//1D3iHyMfdR/dtdOZE8d\nMb7PTrXorK7rLkjLAMOpGxPdZmmQU6/jVdmBXSn1JoDXRcT+rS8C8Fy51yWigA51Y/DBPxuq21bA\nqddz/w4Z3J1B292Xxf767gfuxPb+z+GlCdcgq0R7nazE8OXM5/JVMW6mKpmW2AkIcidWr5s/M9+C\nINmUwIar5hblzcdDX/VSRVXH/mcA7hGRQwBaAXw9ousSkY/+H65BXeZMwWt1mTPGOnGdHft70Xnv\nwaJhGM7gfmDnNtwu2/L9V+oki6JqRCuB2+Or8MDgAuNnHVXN2tdjk2dg84pWAMA9T78GANi8ohV7\nuhbmgrrrr5KO+J6CHjSmB8B4xF4xRFXIWeb30oRrENMsnrMQxNb1ab/HXRrYdvujONlfPPhiSqOF\n/WtylShH1rwHM2LFq+1BFUOdqHyt+OzvTjRORgKApbHdRVUyg/EG/EVmJb53Zn7Be+2eMB3xPbmN\nWmdO30oAS7aOq5JG9oohqlHuMj9jnXh2KmYYvsddGqgL6gAKXm+JndC+JyYKcDxAWh72buLVk20H\n0rlce4ucwFE1FX89uAIPDM4vem++t/sEzUZtOpXbwB1HgT0othQgGsN0eW93md8dg8vRr+oLvq9f\n1eOu+uvy/46iNPBNTA30uin37eSskmkf2OqduulL5U6P6nhs4I5nDOxEY5RpWLN7NayrE1+jVqL1\nipX595hW0PbrCUsfCpyvbxzQP0D+asCxYj7UjY8+ugiH45/KD7eY0mjlc+GlaGlK5NI8OqbXxzmm\nYojGKNMqOy5S1EOlJ9uOnekPIauUdjiz7ntsX9nxLAaz+q8NZlV+A/UhTQrljsHl2Hfu5bk3D1Xn\nNA5t5Nr16WsGYwAuxGUXTMPdQ5uiQeWrXOJr9Dn2RcE3iMcTbp4SjVGzu3YaNyETVrxouISzIsS9\nUeqV83b2UNexV9qma2wZqmSZ/+CHMR3Fhw/t4RZe17BigrTr4TKl0cLaJRcOP6AOdY/bpl42bp4S\nVTlTQLYnE5kqXHQbpV7B229p59cbfe8v3sZ9+3pxOHYs95Rw368cx7+n/jDX9TG2XFvffunsKXj1\nRErfzMs2jpt6hcUVO9EYpRs757cytwN+kEEVUbHTPLvrV2nLIZ36VT260jcUBXdBrmadNejegq7Y\nuXlKNEZ1tCVx9SVJxCW3DI6L4OpLkkUrc7/N1ZFm5+511TluptYBCmDzrggxFUM0xtircHcKJaMU\n7tvXi3nvPg8dbclQm6vlWhrbPbRperxokIbNXZ8uUBBNasbu+ug22g+kWsbATjSGuNMv7vCcSmdw\na/dB3LL9gDE3nlEKVlyQzuTeESQoe3GfFHUP0nDqybajZyD32u76VcYBGzpx3VOASsJUDNEYsWN/\nL27tPmgcOrE0thu761fhP+s/jX8fqhE3yWQVGq1YPijb/V2CtsgFcpUqQGndGAFDasZKGLs+Rv1X\nxnjGFTvRGGCv1E3BLeiq2b06b7TOGIOyvbI2WXHp+bjn6dfM3RgNKRVbT7Yd9SqG2xvvQ2PqzXyJ\n4r6HmwFDtQ9Fg4GdaAzwGw9nWjV/w/oWtuBOHFXNeCLbimXxpwqCv2kR7BeU4yJ48oVjUPDoRWNI\nqdimNFpoX3IjGtv+suD1zoy+2oftdqPDwE40CjyHLsN/6o9p1VwnWQC5IP4Zebyoy6MpbX1UTUXS\n4+DSFfLvWN3fjZYJx3FSTcKAqkO9DOa/7jVIAwCumz8TX+uYq/2a/XN7/T6oPKxjJyqHz2nIHft7\nsa7nMPpS+pa421pfwW+/9DfInjqCo9mpxo3NIDXiJkoVBni7lnzhsi/i5u0Hit6va6t7VsVxGgk0\n4TTelKnYVncdvvPOpcbPfHXjFSXdK3ljHTvRSLOHOTsmF+GhVfnJRXbeXBfUAeBDZ57ERfu+Apx6\n3Xf2Z5AacZO31STtIOkrH7ww36jLSZf2mSAZ9KsGzEl/F3e27sBjdR82fh5z5ZXHwE5UKt0wZ7tH\nOIB1PYd98+YJw8amu9uiu4PjoNL/T9fdy6tf1WP94PXaQdJieJh4bZYOZhXufvo1YwqHufKxgYGd\nqFQePcJ37O81rtRtXrM/U+ls0evOHub/I/15bQvdf858pGB17j6+H6R00TS67qia6tssjKPpxgZu\nnhKVavKMoTRM8etBjsd7TT7yo5tCZOfn13p8X5DSxTsGlxfl2P02SwXAnq6F+X/7bRbTyGJgJyrV\nInOP8N7v+h+Pv2NwOf7KuqsgHeMXQJ2cpzxN3HXtfZiE8/BO0fucpYteDw2TFkde3W8MXxB8MJSH\nVTFE5dBUxezILDBWm7iP9k+sr8MXst8NHEDDMFW3CKSodFHXcTGspE93yWRTomBVbxKkq+V4FbQq\nhoGdyKWU1aLze2KaJly6IFtuQPXrAWMqkezDOXgnO8H3YVJKjxn3ABAnAfBKgDLIBRv1w7CDPhhq\n2agP2hCROIC9AHqVUp+I6rpEoylIGsEd+C+7YBru29eb/x5dWwDPTctBBA6gzmALIH8gSddiwJRP\nn4x38LvqLqQGzBU7YRp/OXl1l2wJWAZpOqzld4iLhkVZFXMTgOcjvB7RqHMe7bebbh2OrcD8Bz8M\nHOrW9kC/5+nXPMsaAXOQTQ4FzCBNutwNvdynTINWt/Rmp+YDsO4zdtevwjetO0tq/AXkHmwJK17w\nmm8Z5KFuYPNFwLom/LjhJu3PH/TBQBEFdhGZAeAKAHdFcT2iSrFXhe4gOh3HgIdW4cDObUVBPEgy\n0xRkM4gZe8AEOTjk5q5u0ZVE2puzpnTRjNhxYysCvx4zwHDZY7IpAUGAMkjXQa/pOIa/cj3cWB8f\nTlSpmC0AVgM4J6LrEVWEPWdUG0TTKdyQvRvfgfkovZudOknKcWRV4Sq7X9WjAfpAXSfZwKkVp3Kq\nW4I8OPwaf9kBuKMtGXyjU3PQKyED+FL9D/DQmXZWxZSg7MAuIp8A8JZSap+I/L7H+1YCWAkAM2fO\nLPdjiUZE5+I5uO3+Zz0PDwUhAJa48tSC4ZOhfZgEpVB08tTJ3V7XVPduyyoUlUoGKYm0+T04BlRd\nwfWTQ/sLT75wrLyyRMNBr+k4HmizlYpFsWJfAGCpiHwcQAOAc0XkbqXUdc43KaW2AdgG5KpiIvhc\nosjZQemtB6fl0i8uZxLTIWf06Ze4CLJKoaUpgcb6GFb3Fa+AY5Lr3dKAATTGvFfHgP/BIbdyShb9\nHhy/Ug3Yd+7l2BL16tnjoBeVpuwcu1LqNqXUDKXULACfArDLHdSJqsGO/b1YsHEXbtl+AN/Ep5Fy\n5acHZAK+mlpmzKlnlcIrG69A5+I5+M+3ThtXwFPwjm/Kw+ZOrXSlbzD2iTmpJgW6polfo7GpsdPY\n07WwKKjbv7fZXTuxYOMu7NjfG+6DF63JHexyGjroRaXhyVMiFJc5fu/MfJyODWry0/ON15icsHDh\nmn/F6aEyQr8VsJu7ve5ZFdemVpAGNll/jwlSuIl7jpzB0tjuklft9rW/YX0r3+e9gGYFHcUp03yb\nY4/2xxQODygRwXwoJigrJsgiN2vUpjuU5MUd2AdUHf5neqU2UP90wkqcJ8WtAY5km9E+sLXodUGw\n6h3jfVsJYMnWomDLw0Sja9QPKBFVs3IPv0xqqMPJ/sJujs6qlKSYSwgBFFXMAEC9DBoPMDVp+r0A\n5nJEhVywPdqXwuSE5dl5sifbjolShw2TH/BdQZsehuU8JKl8DOxEGC5zLEVcpCio2+yqlJcnXANd\nXFcK6FXNSPocYHKfAA3SzKvgOkMraPvUrFdgT1hx/M6Vnwfavmp8j810ylR3+IlGD/ux07jhtclX\nzuEXXWBzM54CVbnUSW/IA0xKwfPwkZNdW+48Nevl6kuC16CbfvYgvxMaOQzsNC7oWgHcdv+z+eDe\n0ZbElEZrxD7f7xSo6esxaDYxAUyR0wUTlXRDNWz2qU9nuwQv9+3rDVzZYhqDx/F4lcXATuOCLqil\n0pmCgRhrl1yY73Fi90x5ecK12rmgYblH27kDsenrXtOMnBOV2ge2Gqth7NV30H0E9+/FS+fiOeH7\nwtCIY46dxgVnUCtoR9vfjFVfWo59516OzsVzsOGquTiwcxtWp8N3NvTjdwpU+/VBhJ5m5ORcOYfZ\nRwj6ELAfGhyKMbYwsNO4YAc1Uzvarl8Ct90/gA1XzcW6ifcBp/SdDYMez49KKdOMbO6Vs90uwfmX\ni6kMMkwnxVB9YWhUsI6dxgU7x/6YfEE7fMKu/25KWNivlkM04U6pXBAMOnSikqY0Wli75ELtKVGv\nXvIApxWNZaxjJ3Kwg1TLDu9hzn2pNHrrp2qDv0huhTtDjmOLdSe+iTvR6xHkS5lAFJXG+jptYNat\nrue9+zymUmoMAztVpVLG13W0JfGmobmXs/47SLMtr8lFQOkTiKLizJH7/a6YSqk9rIqhquNXuqh7\n/4KNuzCrayc2DCzzrf92V6j4ZSt1k4U8R+GNAjtHHvZ3RbWBK3aqOl6lix1tyYIValOjhXfODCI9\n1MPlwWw7VIDNSGeFyu76Vb7NvNxH+Y393EM0BSuVc9PU73dFtYmBnaqOqRSvty+FWV07Cyo9dEf9\nwwyfAIKlZtxH+bOIaQ8XZUfgj+SYAOc2WDiVShelWjgYenxiYKeqYa/E/eq4oq7zKiw5zK243SPu\n3HXlccOJUdPrQb331ybi1RP9SGeGf8p4TLBuaXEFDGCuXedg6NrGwE5jmh3Me/tSnq1nR7oCxbnK\nH/4scyqn19CL3dQTxs3087x8rL+oD0s6o7D+ocPaDVJd7TpPhtY+BnYas9xDHLyCeqkVKKU8EIKk\ncnTpm6AnRkv5eU72p/NpJ92wC5Yzji88oERjVuv6R43tZZ0BOYuYduKPaeiE8xq64GtqphVWkJW9\nzu76VZ6HqILisIvawwNKVDV0ddYAPIO6MyCbOiCahk7YvEoSo2gdEHaT1mauqPH+edzcG6Sl1P5T\ndWJgp4oyzcxssMzVI7qArGMaOmErJYCOxmlS06xUv5/HzblBGslsUqoaDOxUUaY6a6++4UFqwYPk\ns8MGUFPu+5LMz7EodiAf7J/Ithb8O2zwD5uft+ICKORr9YHiDVLWs48vPHlKFVVKPbWpR/mgiiGL\nXC/zr8rnAWCop/o12p7qfsMv3Eypm8/EH8eM2HHEBJgRO47rXf/eaN0Vqp97T7Yda9RK9CfeBUDQ\nn3gX7rBuxEPZdiSbErhu/kwkmxIQ5PLomz75fmxa9v6C19xNvFjPPr5wxU4jImg+t5RZo6YVbVf6\nBuxUH0JGqUCVJWFb4pr+UnAPoXaP+wybt5/SaKF9yY1obPvL3PcDWDf0f168Vt6sZx9fyl6xi8j5\nIvKkiDwnIodF5KYoboyq1479vei892BBf5LOew9q+5N0Lp4Dyx0ZNYYnGl2D1XXd2Jt9LwZVDErl\nVuo/yPweerLt+RrvoL1agk4hAsx/KQQRZuPT1JmxHJx0NL5EkYoZBHCrUup9AOYD+IKIvC+C61KV\nWv/Q4YKTkcDwIRqb3Zjrlu0HMOhTcmuvvp3pjQ/FDqNOshAB6iSLZfGnCtIdUVWWOD2RbUXWdatB\nq4XDbHyORHqkoy2JDVfN9UzXUO0oOxWjlHoDwBtD//lXIvI8gCSA58q9NlUnXX8W+/UFG3cVnyL1\nCY661bdfuqPUypL1dd/GtfFdiCOLDGK4J7MQawc/i6Wx3VgWf6og7ZJVwFkVR0K8B0Tr8vZWXDCx\nvk5b0jlS6RG25x0/Is2xi8gsAG0AfhLldal22Hledyz3KiMM2hHRuRov5eTn+rpv4/r44/mHRh2y\nuD7+OABgUexA0cMlJkADvIP6oIoVHXhKOmr1edyfRkJkgV1EJgG4D8DNSqlfar6+EsBKAJg5c2ZU\nH0tjUMKKIZUO3uzKb6PTtPp2c67G3RujfZgIpYAt1p1Yrbq1m6TXxncV/SUgknvddAjKTwwq/zmm\nkXM8NERRi6SlgIhYAP4FwCNKqW/4vZ8tBWqXvXHqzrF78TtCrzv6r1RhOsbOfevqxk3ffxKTsC59\nff69r0y4piiw2+/tVc3ae3xbTUIDBowHpo6iGQvObGXQpkiMWksBEREA/wjg+SBBnWrbpkdeDBXU\nAf+NTl1Zon0IKCnHoeA9qs6Uoz8P7xQcMDLJIGZM7axLXw8AWGf9E6bgnYIHQ7+qxzfUp7B5RWvJ\nAZ1tAKgUUaRiFgD4DIBnRcT+X8eXlFIPR3BtqjKlHjjy2+jU9V1ZC/1q372R6pWjtw8YmSoulQLu\nySz0rXnvOdtuaPr1Qfy4xNOdbANApYqiKmY3csPbaZzwWkWGOXA0sT6O0wOZslrcBilr9MvR64K6\nUiioigH8m3qZvl5q+SLbAFCp2FKAQvEbjqw7CKMTjwlOD+SClnt49JFsc+DWuaZDQ1lIvq5d1zrA\nj4LgN8/enQ/q5Si1fJFtAKhUDOwUitcqEhg+CNPo0Z0RADLukz554fLzdwwux4Aq/sOzTrL5Hi32\ng+NEdlLRgSLTbYTtpGhSTvmi6YHANgDkh4GdQvEaJL1g4y7M7tqJ9Q8dRn8J5Y5ejbOcLQXcDb2U\n4WHgbCHQk23HJQPbcFP6xoK/DP4585FQjcAAFD20Cu5twip8uuHpSE53sg0AlYpNwCgUZw696FDR\nL5ejF+3Gk6cmfgMv1td9u2CD01n5srquGxM8Tn66Wwjo8uD7sr8VuBFYoxXD16+6GLdsPwAFTQ0+\njmOD9Q/YcNVc4OIrQv0e3DjWjkrF0XgUip1jvzzzo8jGynnVj9+UvhFbrDu1G5xHss1okePGihb7\nPWHGyQWRsOJosGI42Z821uBj8vnALT+L9HOJOBqPRoS9Wpz/4BfRiGjGymUQQ53mZGcWuRW5KXDn\nVtjmipeglTVOQSYk5fYY1NA9GKptTh0J9blEUWKOnQAMd1uc3bUTCzbu0rbYtXW0JTEd0XVPNB3X\nj8G7Bt1Om7hz5ErlToSG/eshSK7fZrdMMLbynTwj8OcSRY2BfRzwC9p+JYxahsBVSjWJKTiKmA9I\nKIX8atpdKnlT+kZ84Oy20CmhoD3cnbSllFYCWLQm1GcTRYmpmBoX5PSi30EY7YGkRWuAh1YB6eEq\nmbCpDzvtkZTjRb1fbLrXACDjCPl+B4e82I25Nj3yIlpSwf8KmdJo4WR/uuhE6lvSjOlLvg5cnPs9\nsCUAVQJX7DXOr+4c8D4IY5qG9JWX/xvWqT/NrZQhOGn9eqjUhzPtIWIO4CZ1ojxX0kHZv4vLLphm\n/MvB/VfIlEYLa5dcmC9FtKcwXZj9Pp6+8kcFQT30X0JEEeCKvcYFOb1oagMwOWEZpyHd/fRrAC7F\nd3ApACCRiWPChBigGRyho0t7uGWV/rh//r4D5PODbIb29qVw99Ov4Zcx/9YGCSuOtUsuDFSKyJYA\nVCkM7DUuyBDjzsVz0PmDg0i7jmGeHhgM3Kkxlc6gwYohYcWLgpn2vgybonb1ba9qxhPZViyLP2Vu\nieuTzw8y0NrJ1Ohr37mXQzTB228iEVsCUKUwsNe4zsVzfKf0dLQlsf6hw0UHi8K23z3Zn/ZtJWAz\nlSmKDK+Se7Lt2Jf9Layt+yecJ8Utcf3y+X4Hn3Tc+fpkUwJ7uhYG+pncgjxUiUYCc+w1LugQ47Cn\nRU2CthLwaswVpBVAkHx+uQOtyz2+z5YAVClcsY8DXimDHft7sa7nsPF7pzRaeOfMYFGaxi1ILtvJ\nTnt807pTu3EapBWAn1IHWtvK6fMCsCUAVQ5bCowxo1ke5y6F1GlKWOjz2RDVjZ4L2l7AdCTfHkdn\nekAEeZCY7uu29A140Oe+FrznPLx6IsWATGMKWwpUodGYmON8cMREkPF5sPsFdaC0XLZNN2QDyOXa\n3ZudBXXv8B6HB5g3Q8+99BpY//G69q8QAfDB95yHn752ipOLqGoxsI8hI1keZ6dcnIHaL6gH5ZXL\n9ltZO4NvUo4XpWXy+fZBFDwA3Nkb04NEl8J5tWMu5r37vILfh12b3tGWxIKNu1imSFWNgX0MGany\nuCApl3KYctkn1cRA5YZ28H15wjXaFgItciJQ3XuQTdEpjRYA730HlilStWNVzBgyUhNzdH8JRElX\n4dKv6iGCUL1XvE5+ejUDc77PSzwmWLvkQt/rcHIRVTsG9jEk6vI4u/lX0OHSpTLNLG3CO9r3m1bW\npgfEHYPLzV0UXe8zmdJo4a+Xvd8zleL8fbn/cmCZIlUTpmLGkCjL44KmXwRhp4zq6XLZq1V3qHJD\n02ZnT7a9KMcODM8rdefu7Z8pGeL35/59qRKvQzQWRBLYReRjAL4JIA7gLqXUxiiuOx75HVMPKmj6\nxV0BEiVjy7sKAAATGElEQVRdxYvfytpUr+4Z9B2aEhbWLb0w9O9Q9/uyg3qpJ0+JKqXswC4icQB/\nB+ByAEcAPCMiPUqp58q9NpXOa6PPWanyZm8zen97NW5+7r2Rp2yCBuMw1/Mrn/zVmUHcsv0ANj3y\nYqhVNjdMqZZEsWK/FMB/KaVeBgAR+T6AKwEwsI+mQ93AE7fnRrJNnoE/mnQ1vvPOpUVvcx/aacFx\n/NrBNdhz5d9gwcPNgYN70JOm5fRKL4Vdwhm29px9XaiWRLF5mgTwuuPfR4ZeKyAiK0Vkr4jsPXbs\nWAQfS/Zm301fug2p+78InHodgAJOvY6vqG/hD+v2FH2PrmywLnMG/T9cg87Fc4wTi5zCjJCLSsh2\n7QCK+857YV8XqiWjVhWjlNqmlJqnlJo3bdq00frY2nGoG9h8EbCuCdh8EZ7p+fv8EIfOum4kcLbg\n7XWZM+is2150GVPZYEP/mwCCbaSWMkKuVE0JC69uvAKbV7TC8mrObhA0lRK0WRpRNYgiFdML4HzH\nv2cMvUZROdRdOIbu1Ou46Kd/gcszf4IetBuD9XRVXFbo1Rjr1u6DmFAXw9lB7w6Nps9LynG8POGa\nQE3AnOrjggFNi2ArJli3NFd3bgdY9+lZP2FSKVFtXBNVWhQr9mcAvFdEZotIPYBPAeiJ4LpVz2+I\ndGBP3F4wWxQAEjibXyGbarzfkuLXvWrFM0r5BnWvzxNBSamZaec04NWNV2DLitaCFfMmV915R1sS\nB9Z+FFtWtMKK+6/emUqh8arswK6UGgTwRQCPAHgeQLdSytwHdpyIdN7lqSPal+2DPtre5lYCr3+g\ns+h7TIeJwlSqePVSt4VJzdjpko62JPZ0LcTmFa04fXYQN28/gFldO9F2+6MFv7eOtiQ2ffL9+fYA\nANBoxQqGfDQlLKZSaNyKpI5dKfUwgIejuFatiLSh1+QZQxujhd5A7qCPu6zwDUzF0bmr0Xv+JwAc\nKPq+citV3J8nUIF6qpuIALO7dqKlKYHLLpiG7a7Oiyf70+i89yCA4ZSMM22iO4wV5C8PolrFk6cj\npOy6aGf5YmIKEK8HMsMbloPxBvxt5pr8v4tGuj2XAJ4LVhGiE6Qro/15u+tXlTXQwo7h9lBpnXRG\nGR+KHBpNVIiBfYSUVRft3ixNvQ3ELCBxHpA6if7EdKw5fTXuHZhvvIT7s8NMOPIaAg2g6DqlnDAt\nRdiHJQ8X0XjFwD5C/IZIe05K0myWIpsG6icCf/4KPrj+UfQNeFeGCIAlPoMp4hnBA4MLir7XVM64\nzvonNGCgIOBvse7EP2c+gq70DdoTpgkrhsGsCj0YW8er6yIPFxENY3fHEeJVF63bWL1l+wF8ZUfu\npKRpsxSnjmDH/t5A5X5LHIeI7GoVp0YZwF+ecz+umz+z6PCPqZxxCt4pCvgxAT4TfxwA0D6wFb9x\n9h60D2zFTvUhXDd/Js6bOAHpjEJ8KAlfykEj+3P6Bwa1FUY8XERUiDNPK8DUSlcAbF7Rio5/W6zd\nLMXk87Hg7NZAx/5Ns0SdshD0XJkrYHLWh3vNIdVtkgLAkWwz2ge25v/daMXQny7cwExYcVx9SRJP\nvnAMR/tSmBxgnqp9rbRr1Z+w4gVVL6M5K5aoUoLOPGVgr4DZXTuNJzyTTQns+fjxwhw7AFgJYMlW\nzP7uxKLv1eXPt1h3Fq3S3exgLJIL2s7r6XLmKVWPqTF9j/WsEvzG2XsA5AZaZDTzRPM/n6Nb4rX/\n8GPseelt4z0mrDgarBhO9hc/ANh5kcYbDrMew0w5YWBow+/ioU1HR1MvvPejwBO346WGIziaHc5h\nmzY6T6pJmCr6IAwUbm66n+2mrowAjA8MZwWMKajnfz6HV094//WRSmeMLYW5OUqkx8BeAZ2L5+CW\n7Qe0q3Z7w29HZgE2nd2Ko2dSuDr7f3H7M9vQKAOIYfhkpx18dRudZ1CPflUfaDCFjqnW/ZLMz/GZ\n+OMFwT1MBYx7Q7Oc4MzNUSI9BvZRZueCTWvayy6Yhh37e9F578F8TvlmfN/YdKslpj8E1ITTuDn9\n3yPrhW5bO/hZ7Mv+VknX1W1oev31kv9ZEhbODmaNFUZEVIg59lEUZFxdsimB/oHBgpzyyxOuMeTL\nxXgq1b2ZGZYAqIsBac0BzimNFvav+Wj+IRVkM3dKo4W1S4onG/n9TuxNUiCakYFE1Yw59jEoyLi6\no0MlkAWvGToyvolmbDi2BBvr/7GgbW8Uh4MUgEHDM7+vP40d+3vzgdWUVgL854W657w2NVpQCjiV\nShcFcAZyomC4Yh9FXtUwtqQmNWGqUrGbdy2N7cafW914l5wo2FgdaU0JCyLQVqzkSzcZjIkiwxX7\nKDPVUTtfj4nkR7fp2Hljd89xv9mhPdl29Jxtx8T6OE4PRD+U2sSrBl2BK2yiSmFgj4A7T2y36N37\ni7dx377e/OteQT0mKDhw0/mDgwUdDu0qlbjHw2E0g7qfJCtWiCqGLQUiYOou+L2fvO6bU7ed22AV\n5JI3LXs/mhLD/canNFrYsqIVL234eEEf8rGIFStElcXAHgFTLbbXCt3tlCat4ewpfrI/nR/UEXZb\nRABcN39mUT8VnSDvKbq+DOXbwVmhRGMBA3sETAdl4qbGKgGu4dVjXPcQ8KKAwH892I3LdEwtCpTK\nPYQ2r2jFnq6FDOpEFcbAHgFTd8FP/875Ra9bMdHO6+zrHyjoXOjVY7yUE5dB/npINiXQ0ZY0/jzf\nWN6KLStatQ8s+6FDRJXHwF4C95BqANoWvV/rmIurL0nmA2FcBCsuPR8rfvv8ova1pwcyBbNRJyf0\neXS74iZsysTvrwcrJvm8uN1y2JnLn1AXy38ta3hIsHcL0djAqpiQTBUwG66aW9RpcMf+Xty3rze/\nWs4ohfv29WJCXcyznj2VzqDBiiFhxQvSJ1Zc8kOer4ztRmd9sIlIAPDp3zm/oELHbVJDXVEK5Yzj\n2GlfKpfjBzjYgmis44o9JK/ct+69l2d+hN31q/DyhGuwu34VLs/8KFAP8r7+dEG+Oya5uZ99qTSW\nxnZjw9AQjZgMNwVbGtutvdaURgtf65ibP5qv4z5k5PVzcrAF0dhWVmAXkU0i8oKIHBKRB0SkKaob\nG6vCzNec98vH8lOMggRgpxZXvtvZCdfU0XF1XXfRdQTA2iUXAsilUUwbowIUTCXy+jm9pkMRUeWV\nu2J/DMBFSqmLAfwcwG3l39LY5jV30+22+h9oA3BXfbdnjty5+tWtnE2j61qksNOjALh2/syCgNu5\neI52PJ0CcGv3wXxw9/s5O9qS2NO1EK9svIKVMERjTFmBXSn1qFJqcOifTwOYUf4tjW1h0hC/Dn0A\nfhdOFKx4mxIWpjTq68B1K+ejqll7Xeewi4n1cWxe0YqvdQynX/xaBmeUytfKM91CVL2i3Dz9LIDt\nEV5vTHJ3I/RqISuGlrr/D824ZfsBtDQlfBtl6TYq7xhcrm0K5uzo2NRYX3DdIC2DgeE8ur0RzFa5\nRNXHN7CLyOMApmu+9GWl1IND7/kygEEA93hcZyWAlQAwc+bMkm52rOhoSwYLcIvWFM0uTal6fD29\nrKC00b6mTufiOUUBuSfbDhkEOuPmYRfulX6QlsHu7w38cxLRmOIb2JVSH/H6uoj8MYBPAFikPHoA\nK6W2AdgG5Nr2hrvNKuWaXfommvH19LKCAGyvkIP2Kx9eOV8BYAMWbNwVqPQwTI05yxaJqltZqRgR\n+RiA1QA+rJTqj+aWqpOpbS8uXp4P8PO7dmq/128CkdfKWbeiDzOCToCCnDvz6ETVr9yqmL8FcA6A\nx0TkgIh8K4J7qjp2/rp3aPqRnWJxlg8C5tOfYXrKuAUtPTRthl47fybLFolqTFkrdqXUb0Z1I9XM\n6zCPM0ia+rU4Xzeu/D2+FiQXHmbTl4iqG1sKBOQOqpddMA1PvnBMO6PU5s5r68be2a/bn6FrV2Az\nfS1ocOZmKNH4wJYCAehSLXc//Vr+3ybuTUi/2nCvlX+YVgZENL5V/YrdK3URlTClgjZnt0TnPU5O\nWGiwYujrTxfdr9cxftMDxG/jlYjGn6oO7F6piyiDeyntaO1uie577EulkbDi2oNJXl0T3zx1Rpuj\nL2fjlYhqU1WnYkYrPVFKXXffULfEMPfolaoJsvFKRARUeWAP02mxZIe68ZjcmG+7G6QzIzD8MNDd\ny9LYbmzv/xywrgnYfBFwKNeV0at00dSV0fR6EO6BIe7yTCKqTlWdihnxgQ+HuoGHVqExnQIEmCG5\ntrtIo+D0qNchH/c9Lo3tLuzzcur1XNsBALh4ubFy5bILpuHup1/Tvl6K0UpjEdHoq+oV+4h3IHzi\n9oI+L0Bx3/PkUCMv0yEf9z3qeqkjncp9locnXzgW6nU/rLIhql1VvWIf8UM3p45oX7b7ntsPEa/6\n8KJ7jJ3Qvs/0WTZTeqm3L4XZXTtD/+yjksYiooqo6sAOjPChG0Pb3aNqKpIhAmnBPW7WXxOTvVvZ\nm9JOAAJ3igxyPTYAI6p+VZ2KGXGL1gCWK9BZCcz45IbAU4PcG5TPvOfPtNfEojWe19GlndzCpFI4\nSIOodtVsYI+k4uPi5cCSrehPvAtZCI5km7FO/Sl2ZBYEvgf3idXrn3k3npm7Hph8PgDJ/f8lW4db\n/Bq4K2ZMgqZSOLeUqHaJRwv1ETNv3jy1d+/eEbu+blpQwoqXFLjKuZapVzqAUKmcMNdONiXy04+I\nqLaIyD6l1Dy/99Xkij3Kio9yruW1eja19g2KqRQiMqn6zVOdUis+dH1nyqke8drwBApb+4btecM2\nvERkUpOBvZSKD9OBnckJC32pdKhr2XTTjdyO9qVKPizENrxEpFOTqZhS0hSmlIsISk55ODcoTVqa\nEjwsRESRqsnAXkrFhym10tefLqt6pKMtiT1dC7FlRavxAcHDQkQUpZpMxQDh0xRe6ZsoUh5eOfFN\nj7zIw0JEFJmaDexh6fLhUVeZmB4Qo/HZRDR+MLAPqWSVCStciChKNXlAaSSNxig+IiKdUT2gJCK3\niogSkeYorjdW6VoElHPIiIhoJJQd2EXkfAAfBVA8BaLGsCyRiKpBFCv2zQBWo3CIUE1iWSIRVYOy\nAruIXAmgVyl1MKL7GdNM5YcsSySiscS3KkZEHgcwXfOlLwP4EnJpGF8ishLASgCYOXNmiFscVumN\nS5YlElE1KLkqRkTmAngCQP/QSzMAHAVwqVLqTa/vLaUqJspWvOWo9MOFiMavoFUxkZU7isirAOYp\npY77vbeUwM7+40Q03tVcP3ZuXBIRBRNZYFdKzQqyWi8VNy6JiIKpmhU7JwYREQVTNb1i2E+FiCiY\nqgnsACcGEREFUTWpGCIiCoaBnYioxjCwExHVGAZ2IqIaw8BORFRjKjJBSUSOAfhFBJdqBjBih6JG\nAe+/snj/lcX7D+/dSqlpfm+qSGCPiojsDdI3Yazi/VcW77+yeP8jh6kYIqIaw8BORFRjqj2wb6v0\nDZSJ919ZvP/K4v2PkKrOsRMRUbFqX7ETEZFL1Qd2EdkkIi+IyCEReUBEmip9T2GIyDIROSwiWREZ\nkzvsOiLyMRF5UUT+S0S6Kn0/YYjIt0XkLRH5WaXvpRQicr6IPCkizw39d+emSt9TGCLSICL/ISIH\nh+5/faXvKSwRiYvIfhH5l0rfi07VB3YAjwG4SCl1MYCfA7itwvcT1s8AXAXgqUrfSFAiEgfwdwD+\nAMD7AHxaRN5X2bsK5TsAPlbpmyjDIIBblVLvAzAfwBeq7Pd/FsBCpdT7AbQC+JiIzK/wPYV1E4Dn\nK30TJlUf2JVSjyqlBof++TRyQ7WrhlLqeaXUi5W+j5AuBfBfSqmXlVIDAL4P4MoK31NgSqmnALxd\n6fsolVLqDaXUT4f+86+QCzBV089a5bwz9E9r6P+qZrNPRGYAuALAXZW+F5OqD+wunwXww0rfxDiQ\nBPC6499HUEWBpZaIyCwAbQB+Utk7CWcolXEAwFsAHlNKVdP9bwGwGkC20jdiUhWDNkTkcQDTNV/6\nslLqwaH3fBm5P1HvGc17CyLI/ROFJSKTANwH4Gal1C8rfT9hKKUyAFqH9sQeEJGLlFJjfs9DRD4B\n4C2l1D4R+f1K349JVQR2pdRHvL4uIn8M4BMAFqkxWL/pd/9VqBfA+Y5/zxh6jUaJiFjIBfV7lFL3\nV/p+SqWU6hORJ5Hb8xjzgR3AAgBLReTjABoAnCsidyulrqvwfRWo+lSMiHwMuT+Lliql+it9P+PE\nMwDeKyKzRaQewKcA9FT4nsYNEREA/wjgeaXUNyp9P2GJyDS7ek1EEgAuB/BCZe8qGKXUbUqpGUqp\nWcj9937XWAvqQA0EdgB/C+AcAI+JyAER+ValbygMEflDETkC4HcB7BSRRyp9T36GNqu/COAR5Dbu\nupVShyt7V8GJyPcA/BjAHBE5IiJ/Uul7CmkBgM8AWDj03/kDQyvIavEuAE+KyCHkFgmPKaXGZNlg\nteLJUyKiGlMLK3YiInJgYCciqjEM7ERENYaBnYioxjCwExHVGAZ2IqIaw8BORFRjGNiJiGrM/wfX\nFM56y3bfAQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9846ea3860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 8: accuracy=0.500000\n",
      "time: 6.143714\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9846f9fcc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "binary training acc at epoch 9: accuracy=0.499000\n",
      "time: 6.123487\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9950930c18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "stamp =  datetime.now().strftime('%Y_%m_%d-%H_%M')\n",
    "for epoch in range(10):\n",
    "    tic = time.time()\n",
    "    train_data.reset()\n",
    "    for i, batch in enumerate(train_data):\n",
    "        ############################\n",
    "        # (1) Update D network: maximize log(D(x)) + log(1 - D(G(z)))\n",
    "        ###########################\n",
    "        # train with real_t\n",
    "        data = batch.data[0].as_in_context(ctx)\n",
    "        noise = nd.random_normal(shape=(batch_size, 2), ctx=ctx)\n",
    "\n",
    "        with autograd.record():\n",
    "            real_output = netD(data)\n",
    "            errD_real = loss(real_output, real_label)\n",
    "            \n",
    "            fake = netG(noise)\n",
    "            fake_output = netD(fake.detach())\n",
    "            errD_fake = loss(fake_output, fake_label)\n",
    "            errD = errD_real + errD_fake\n",
    "            errD.backward()\n",
    "\n",
    "        trainerD.step(batch_size)\n",
    "        metric.update([real_label,], [real_output,])\n",
    "        metric.update([fake_label,], [fake_output,])\n",
    "\n",
    "        ############################\n",
    "        # (2) Update G network: maximize log(D(G(z)))\n",
    "        ###########################\n",
    "        with autograd.record():\n",
    "            output = netD(fake)\n",
    "            errG = loss(output, real_label)\n",
    "            errG.backward()\n",
    "\n",
    "        trainerG.step(batch_size)\n",
    "\n",
    "    name, acc = metric.get()\n",
    "    metric.reset()\n",
    "    print('\\nbinary training acc at epoch %d: %s=%f' % (epoch, name, acc))\n",
    "    print('time: %f' % (time.time() - tic))\n",
    "    noise = nd.random_normal(shape=(100, 2), ctx=ctx)\n",
    "    fake = netG(noise)\n",
    "    plt.scatter(X[:,0].asnumpy(), X[:,1].asnumpy())\n",
    "    plt.scatter(fake[:,0].asnumpy(), fake[:,1].asnumpy())\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Checking the outcome\n",
    "\n",
    "Let's now generate some fake data and check whether it looks real."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f994c6f4128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "noise = mx.nd.random_normal(shape=(100, 2), ctx=ctx)\n",
    "fake = netG(noise)\n",
    "\n",
    "plt.scatter(X[:,0].asnumpy(), X[:,1].asnumpy())\n",
    "plt.scatter(fake[:,0].asnumpy(), fake[:,1].asnumpy())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusion \n",
    "\n",
    "A word of caution here - to get this to converge properly, we needed to adjust the learning rates *very carefully*. And for Gaussians, the result is rather mediocre - a simple mean and covariance estimator would have worked *much better*. However, whenever we don't have a really good idea of what the distribution should be, this is a very good way of faking it to the best of our abilities. Note that a lot depends on the power of the discriminating network. If it is weak, the fake can be very different from the truth. E.g. in our case it had trouble picking up anything along the axis of reduced variance. \n",
    "In summary, this isn't exactly easy to set and forget. One nice resource for dirty practioner's knowledge is [Soumith Chintala's handy list of tricks](https://github.com/soumith/ganhacks) for how to babysit GANs. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "For whinges or inquiries, [open an issue on  GitHub.](https://github.com/zackchase/mxnet-the-straight-dope)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.4.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
